package com.ruoyi.lease.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.List;

/**
 * 租房审核对象 atb_house
 * 
 * @author ruoyi
 * @date 2024-09-16
 */
@Data
public class AtbLeaseHouse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房屋Id */
    @Excel(name = "房屋Id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 小区Id */
    @Excel(name = "小区Id")
    private Long plotId;

    /** 房屋简介 */
    @Excel(name = "房屋简介")
    private String houseName;

    /** 房屋面积 */
    @Excel(name = "房屋面积")
    private BigDecimal homeArea;

    /** 卧室数量 */
    @Excel(name = "卧室数量")
    private Long bedroom;

    /** 客厅数量 */
    @Excel(name = "客厅数量")
    private Long drawing;

    /** 卫生间数量 */
    @Excel(name = "卫生间数量")
    private Long restroom;

    /** 朝向Id */
    @Excel(name = "朝向Id")
    private Long orientationId;

    /** 期望售价 */
    @Excel(name = "期望售价")
    private BigDecimal homePrice;

    /** 平方价格 */
    @Excel(name = "平方价格")
    private BigDecimal squarePrice;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long isExamine;

    /** 上架状态 */
    @Excel(name = "上架状态")
    private Long isPutaway;

    /** 0整租，1合租 */
    @Excel(name = "0整租，1合租")
    private Long leaseType;

    /** 省 */
    @Excel(name = "省")
    private Long city1;

    /** 市 */
    @Excel(name = "市")
    private Long city2;

    /** 区 */
    @Excel(name = "区")
    private Long city3;

    /** 地址经度 */
    @Excel(name = "地址经度")
    private String addressLongitude;

    /** 地址纬度 */
    @Excel(name = "地址纬度")
    private String addressLatitude;

    /** 具体地址 */
    @Excel(name = "具体地址")
    private String address;

    @TableField(exist = false)
    private List<AtbHouseLabel> labelList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPlotId(Long plotId) 
    {
        this.plotId = plotId;
    }

    public Long getPlotId() 
    {
        return plotId;
    }
    public void setHouseName(String houseName) 
    {
        this.houseName = houseName;
    }

    public String getHouseName() 
    {
        return houseName;
    }
    public void setHomeArea(BigDecimal homeArea) 
    {
        this.homeArea = homeArea;
    }

    public BigDecimal getHomeArea() 
    {
        return homeArea;
    }
    public void setBedroom(Long bedroom) 
    {
        this.bedroom = bedroom;
    }

    public Long getBedroom() 
    {
        return bedroom;
    }
    public void setDrawing(Long drawing) 
    {
        this.drawing = drawing;
    }

    public Long getDrawing() 
    {
        return drawing;
    }
    public void setRestroom(Long restroom) 
    {
        this.restroom = restroom;
    }

    public Long getRestroom() 
    {
        return restroom;
    }
    public void setOrientationId(Long orientationId) 
    {
        this.orientationId = orientationId;
    }

    public Long getOrientationId() 
    {
        return orientationId;
    }
    public void setHomePrice(BigDecimal homePrice) 
    {
        this.homePrice = homePrice;
    }

    public BigDecimal getHomePrice() 
    {
        return homePrice;
    }
    public void setSquarePrice(BigDecimal squarePrice) 
    {
        this.squarePrice = squarePrice;
    }

    public BigDecimal getSquarePrice() 
    {
        return squarePrice;
    }
    public void setIsExamine(Long isExamine) 
    {
        this.isExamine = isExamine;
    }

    public Long getIsExamine() 
    {
        return isExamine;
    }
    public void setIsPutaway(Long isPutaway) 
    {
        this.isPutaway = isPutaway;
    }

    public Long getIsPutaway() 
    {
        return isPutaway;
    }
    public void setLeaseType(Long leaseType) 
    {
        this.leaseType = leaseType;
    }

    public Long getLeaseType() 
    {
        return leaseType;
    }
    public void setCity1(Long city1) 
    {
        this.city1 = city1;
    }

    public Long getCity1() 
    {
        return city1;
    }
    public void setCity2(Long city2) 
    {
        this.city2 = city2;
    }

    public Long getCity2() 
    {
        return city2;
    }
    public void setCity3(Long city3) 
    {
        this.city3 = city3;
    }

    public Long getCity3() 
    {
        return city3;
    }
    public void setAddressLongitude(String addressLongitude) 
    {
        this.addressLongitude = addressLongitude;
    }

    public String getAddressLongitude() 
    {
        return addressLongitude;
    }
    public void setAddressLatitude(String addressLatitude) 
    {
        this.addressLatitude = addressLatitude;
    }

    public String getAddressLatitude() 
    {
        return addressLatitude;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("plotId", getPlotId())
            .append("houseName", getHouseName())
            .append("homeArea", getHomeArea())
            .append("bedroom", getBedroom())
            .append("drawing", getDrawing())
            .append("restroom", getRestroom())
            .append("orientationId", getOrientationId())
            .append("homePrice", getHomePrice())
            .append("squarePrice", getSquarePrice())
            .append("isExamine", getIsExamine())
            .append("isPutaway", getIsPutaway())
            .append("createTime", getCreateTime())
            .append("leaseType", getLeaseType())
            .append("city1", getCity1())
            .append("city2", getCity2())
            .append("city3", getCity3())
            .append("addressLongitude", getAddressLongitude())
            .append("addressLatitude", getAddressLatitude())
            .append("address", getAddress())
            .toString();
    }
}
